Data de lançamento da versão estável:27 de maio de 2025
A menos que indicado de outra forma, as mudanças a seguir se aplicam à versão do canal estável do Chrome 137 para Android, ChromeOS, Linux, macOS e Windows.
CSS e interface
Função if()
do CSS
A função if()
do CSS oferece uma maneira concisa de expressar valores condicionais. Ele
aceita uma série de pares de condição-valor, delimitados por ponto e vírgula. A função
avalia cada condição sequencialmente e retorna o valor associado à
primeira condição verdadeira. Se nenhuma das condições for avaliada como verdadeira, a função
vai retornar um stream de token vazio. Isso permite expressar uma lógica condicional complexa
de maneira simples e concisa.
Exemplo:
div {
color: var(--color);
background-color: if(style(--color: white): black; else: white);
}
.dark {
--color: black;
}
.light {
--color: white;
}
<div class="dark">dark</div>
<div class="light">light</div>
Rastreamento do bug #346977961 | Entrada do ChromeStatus.com | Especificação
Propriedades CSS reading-flow
, reading-order
A propriedade CSS reading-flow
controla a ordem em que os elementos em um layout flexível,
de grade ou de bloco são expostos a ferramentas de acessibilidade e focados usando a navegação de foco do teclado
de guia.
A propriedade CSS reading-order
permite que os autores substituam manualmente a ordem
em um contêiner de fluxo de leitura. É um número inteiro com valor padrão de 0
.
Saiba mais sobre essas propriedades em Usar o fluxo de leitura do CSS para navegação lógica sequencial de foco e teste alguns exemplos.
Rastreamento do bug #40932006 | Entrada do ChromeStatus.com | Especificação
Ignorar o espaçamento entre letras em scripts cursivos
Esse recurso adiciona lógica para ignorar a configuração de espaçamento entre letras para scripts cursivos, conforme especificado pelo desenvolvedor, de acordo com a especificação, para garantir que o espaçamento entre letras não atrapalhe a estrutura da palavra e visa produzir uma melhor experiência para os usuários que usam scripts cursivos.
Com esse recurso, o Chrome garante que os scripts cursivos sejam legíveis e espaçados corretamente, mesmo que as fontes não tenham recursos tipográficos avançados.
Os scripts a que isso se aplica no Chromium são árabe, Hanifi Rohingya, Mandaic, Mongolian, N'Ko, Phags Pa e siríaco, já que esses scripts são considerados cursivos de acordo com a especificação.
Rastreamento do bug #40618336 | Entrada do ChromeStatus.com | Especificação
API Selection getComposedRanges
e direction
Esse recurso inclui dois novos métodos para a API Selection:
Selection.direction
, que retorna a direção da seleção comonone
,forward
oubackward
.Selection.getComposedRanges()
, que retorna uma lista de 0 ou 1 compostoStaticRange
Uma StaticRange
composta pode cruzar limites de sombra, o que uma Range
normal não pode.
Exemplo:
const range = getSelection().getComposedRanges({ shadowRoots: [root] });
Se a seleção cruzar um limite de raiz de sombra que não for fornecido na lista
shadowRoots
, os endpoints do StaticRange
serão redefinidos
para ficarem fora dessa árvore. Isso garante que o Chrome não exponha árvores
de sombra desconhecidas.
Rastreamento do bug #40286116 | Entrada do ChromeStatus.com | Especificação
Ajude offset-path: shape()
Suporte a offset-path: shape()
, para permitir o uso de formas responsivas para definir o
caminho de animação.
Rastreamento do bug #389713717 | Entrada do ChromeStatus.com | Especificação
Suporte ao atributo transform
em SVGSVGElement
Esse recurso permite a aplicação de propriedades de transformação, como
dimensionamento, rotação, translação e inclinação, diretamente ao elemento raiz <svg>
usando o atributo transform
. Essa melhoria permite manipular todo o
sistema de coordenadas SVG ou o conteúdo como um todo, oferecendo maior flexibilidade
na criação de gráficos vetoriais dinâmicos, responsivos e interativos. Com o suporte
a esse atributo, o elemento <svg>
pode ser transformado sem exigir
elementos de wrapper adicionais ou soluções alternativas de CSS complexas, simplificando o processo
de criação de gráficos da Web escalonáveis e animados.
Rastreamento do bug #40313130 | Entrada do ChromeStatus.com | Especificação
Cor de destaque do sistema para a propriedade accent-color
Isso permite que você use a cor de destaque do sistema operacional para elementos de formulário. Ao
usar a propriedade CSS accent-color
, você pode garantir que elementos de formulário, como
caixas de seleção, botões de opção e barras de progresso, adotem automaticamente a cor
de destaque definida pelo sistema operacional do usuário. Esse recurso é compatível com o macOS
desde 2021 e agora também é compatível com o Windows e o ChromeOS.
Rastreamento do bug #40764875 | Entrada do ChromeStatus.com | Especificação
Permitir que <use>
faça referência ao elemento raiz de um documento externo omitindo o fragmento.
Esse recurso simplifica o elemento <use>
do SVG, liberando os requisitos de
referência. Antes do Chrome 137, era necessário fazer referência explícita a fragmentos
no documento SVG. Se nenhum ID de fragmento for fornecido, <use>
não vai conseguir
resolver o destino, e nada será renderizado ou referenciado.
Por exemplo: um elemento <use>
que faz referência a um arquivo externo com identificador
de fragmento:
<svg>
<use xlink:href="myshape.svg#icon"></use>
</svg>
Neste exemplo, #icon
é o identificador de fragmento que aponta para um elemento
com id="icon"
dentro de myshape.svg
.
Sem um identificador de fragmento:
<svg>
<use xlink:href="myshape.svg"></use>
</svg>
Com esse recurso, omitir fragmentos ou apenas fornecer o nome do arquivo svg externo faz referência automática ao elemento raiz, eliminando a necessidade de alterar o documento referenciado apenas para atribuir um ID à raiz. Essa melhoria simplifica o processo de edição manual e melhora a eficiência.
Rastreamento do bug #40362369 | Entrada do ChromeStatus.com | Especificação
Tipos de cores de ponto flutuante da tela
Introduz a capacidade de usar formatos de pixel de ponto flutuante (em vez de ponto fixo
de 8 bits) com CanvasRenderingContext2D
,
OffscreenCanvasRenderingContext2D
e ImageData
.
Isso é necessário para aplicativos de alta precisão (por exemplo, visualização médica), conteúdo de alto alcance dinâmico e espaços de cores de trabalho lineares.
Rastreamento do bug #40245602 | Entrada do ChromeStatus.com | Especificação
view-transition-name: match-element
O valor match-element
gera um ID exclusivo com base na identidade do elemento
e renomeia o mesmo para esse elemento. Isso é usado em casos de apps de página única
em que o elemento está sendo movido e você quer animá-lo com uma transição
de visualização.
Rastreamento do bug #365997248 | Entrada do ChromeStatus.com | Especificação
Pagamentos
Alinhamento do tipo de erro gerado para a criação de credenciais do payment
WebAuthn: SecurityError
se torna NotAllowedError
.
Correção do tipo de erro gerado durante a criação de credenciais do WebAuthn para credenciais
payment
. Devido a uma incompatibilidade histórica de especificação, a criação de uma credencial payment
em um iframe de origem cruzada sem uma ativação do usuário gerava uma
SecurityError
em vez de uma NotAllowedError
, que é o que é gerado para
credenciais não de pagamento.
Essa é uma mudança interruptiva, embora específica. O código que detectava o
tipo de erro gerado (por exemplo, e instanceof SecurityError
) é afetado.
O código que geralmente processa erros durante a criação de credenciais (por exemplo,
catch (e)
) continuará funcionando corretamente.
Rastreamento do bug #41484826 | Entrada do ChromeStatus.com | Especificação
APIs Web
Particionamento de URL de blobs: busca/navegação
Como continuação do particionamento de armazenamento, o Chrome implementou o particionamento do acesso ao URL do blob por chave de armazenamento (site de nível superior, origem do frame e o booleano has-cross-site-ancestor), com exceção das navegações de nível superior que vão permanecer particionadas apenas pela origem do frame. Esse comportamento é semelhante ao implementado atualmente pelo Firefox e pelo Safari e alinha o uso do URL do blob com o esquema de particionamento usado por outras APIs de armazenamento como parte do particionamento de armazenamento. Além disso, o Chrome agora aplica o noopener em navegações de alto nível iniciadas pelo renderizador para URLs blob em que o site correspondente é de um domínio diferente em relação ao site de nível superior que realiza a navegação. Isso alinha o Chrome a um comportamento semelhante no Safari, e as especificações relevantes foram atualizadas para refletir essas mudanças.
Rastreamento do bug #40057646 | Entrada do ChromeStatus.com
Pilhas de chamadas em relatórios de erros de páginas da Web que não respondem
Esse recurso captura a pilha de chamadas do JavaScript quando uma página da Web para de responder devido a um código JavaScript que executa um loop infinito ou outra computação muito longa. Isso ajuda os desenvolvedores a identificar a causa da falta de resposta e corrigi-la com mais facilidade. A pilha de chamadas do JavaScript é incluída na API de relatórios de falhas quando o motivo não responde.
Rastreamento do bug #1445539 | Entrada do ChromeStatus.com | Especificação
Document-Isolation-Policy
Document-Isolation-Policy
permite que um documento ative o crossOriginIsolation
para si mesmo, sem precisar implantar o COOP ou o COEP, e independentemente do
status crossOriginIsolation
da página. A política é apoiada pelo isolamento
de processos. Além disso, os subrecursos de origem cruzada do documento que não são CORS serão
carregados sem credenciais ou precisarão ter um cabeçalho CORP.
Rastreamento do bug #333029146 | Entrada do ChromeStatus.com | Especificação
Ed25519
na criptografia da Web
Esse recurso adiciona suporte a algoritmos Curve25519
na API Web Cryptography, ou seja, o algoritmo de assinatura Ed25519
.
Rastreamento do bug #1370697 | Entrada do ChromeStatus.com | Especificação
Prevenção de rastreamento do HSTS
Reduz o rastreamento de usuários por terceiros usando o cache HSTS.
Esse recurso só permite upgrades HSTS para navegações de nível superior e bloqueia upgrades HSTS para solicitações de subrecursos. Isso torna inviável que sites de terceiros usem o cache HSTS para rastrear usuários na Web.
Rastreamento do bug 40725781 | Entrada do ChromeStatus.com
WebAssembly
Integração de promessas do JavaScript
A integração de promessas do JavaScript (JSPI) é uma API que permite que os aplicativos do WebAssembly sejam integrados às promessas do JavaScript.
Ele permite que um programa da WebAssembly atue como o gerador de uma promessa e permite que o programa da WebAssembly interaja com APIs que têm promessas.
Especificamente, quando um aplicativo usa a JSPI para chamar uma API (JavaScript) que contém promessas, o código do WebAssembly é suspenso. Além disso, o autor da chamada original para o programa do WebAssembly recebe uma promessa que será cumprida quando o programa do WebAssembly for concluído.
Entrada do ChromeStatus.com | Especificação
Dicas de ramificação do WebAssembly
Melhora a performance do código compilado do WebAssembly informando ao mecanismo que uma instrução de ramificação específica tem uma probabilidade muito alta de seguir um caminho específico.
Isso permite que o mecanismo tome decisões melhores para o layout do código (melhorando a instrução de cache de instruções) e a alocação de registro.
Entrada do ChromeStatus.com | Especificação
WebGPU
GPUTextureView
para vinculação de externalTexture
Agora é possível usar uma GPUTextureView
para uma vinculação externalTexture
ao criar uma GPUBindGroup
.
Rastreamento do bug #398752857 | Entrada do ChromeStatus.com | Especificação
Sobrecarga de copyBufferToBuffer
O método copyBufferToBuffer()
GPUCommandEncoder
agora inclui uma maneira mais simples
de copiar buffers inteiros usando uma nova sobrecarga com deslocamentos e parâmetros
de tamanho opcionais.
Entrada do ChromeStatus.com | Especificação
Enterprise
Geração de registros e relatórios de endereços IP
O Chrome Enterprise está aprimorando os recursos de monitoramento de segurança e resposta a incidentes coletando e informando endereços IP locais e remotos e enviando esses endereços aos registros de investigação de segurança (SIT, na sigla em inglês). Além disso, o Chrome Enterprise permite que os administradores enviem os endereços IP para provedores de SIEM próprios e de terceiros usando o conector de relatórios do Chrome Enterprise.
Essa opção está disponível para clientes do Chrome Enterprise Core.
Testes de origem
Atributo de bloqueio de renderização de frame rate
Adiciona um novo token de bloqueio de renderização full-frame-rate
aos atributos de bloqueio.
Quando o renderizador é bloqueado com o token full-frame-rate
, ele
funciona com uma taxa de frames mais baixa para reservar mais recursos para o carregamento.
Rastreamento do bug #397832388 | Entrada do ChromeStatus.com
Pausar a reprodução de mídia em iframes não renderizados
Adiciona uma política de permissão media-playback-while-not-rendered
para permitir que os sites de inserção
pausem a reprodução de mídia de iframes incorporados que não são renderizados, ou
seja, que têm a propriedade display
definida como none
. Isso permite que os desenvolvedores
criem experiências mais fáceis de usar e também melhorem o desempenho,
permitindo que o navegador gerencie a reprodução de conteúdo que não é visível para os usuários.
Teste de origem | Rastreamento do bug #351354996 | Entrada do ChromeStatus.com
API Rewriter
A API Rewriter transforma e reformula o texto de entrada das maneiras solicitadas, com o suporte de um modelo de linguagem de IA no dispositivo. Os desenvolvedores podem usar essa API para remover redundâncias em um texto para se adequar a um limite de palavras, reformular mensagens para se adequar ao público-alvo ou ser mais construtivo se uma mensagem usar linguagem tóxica, reformulando uma postagem ou artigo para usar palavras e conceitos mais simples e muito mais.
Teste de origem | Bug de rastreamento #358214322 | Entrada do ChromeStatus.com | Especificação
API Writer
A API Writer pode ser usada para escrever novos materiais com base em uma tarefa de escrita, com o suporte de um modelo de linguagem de IA no dispositivo. Os desenvolvedores poderão usar essa API para gerar explicações textuais de dados estruturados, criando uma postagem sobre um produto com base em avaliações ou na descrição do produto, expandindo listas de prós e contras em visualizações completas e muito mais.
Teste de origem | Rastreamento de bugs #357967382 | Entrada do ChromeStatus.com | Especificação